import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 怎么理解srote(状态管理)
// 我们可以把store理解成当前应用程序的"数据仓库" "数据银行"


// 将vuex抛出去
export default new Vuex.Store({
    // state
    // 用于定义可共享的数据(响应式的)
    // 特点： 当state发生了变换时，哪些使用了state的视图组件会自动更新

    state: {
        count: 1
    },
    getter: {},
    // mutations 

    // 作用: vuex官方建议的一种用于修改state的方式
    //使用： 在vue组件中，this.$store.comit('xxxState',数据)
    // 注意: mutations方法用于同步地更新state，不建议使用异步逻辑，比如定时器或调接口
    mutations: {
        changeCount(state, playout) {
            if (playout.type == 'add') {
                state.count += playout.step
            } else {
                state.count -= playout.step
            }
        }

    },
    actions: {},
    modules: {}

})